home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 265_01 / wrsct.asm < prev    next >
Assembly Source File  |  1990-02-13  |  1KB  |  46 lines

  1. ;
  2. ;    sector write routine
  3. ;    written by    Rainer Gerhards
  4. ;            Petronellastr. 6
  5. ;            D-5112 Baesweiler
  6. ;            West Germany
  7. ;
  8. ;    See rdsct.asm for segment and function names!
  9. ;
  10. X    equ    4
  11. ;PROG    segment    byte public 'PROG'    ; Lattice and Datalight
  12. _TEXT    segment    byte public 'CODE'    ; Microsoft and Borland
  13.     assume    cs:_TEXT
  14.     public    _wrsct            ; without underline f. Lattice
  15. _wrsct    proc    near            ; and Datalight
  16.     push    bp
  17.     mov    bp, sp
  18.     push    bx
  19.     push    cx
  20.     push    dx
  21.     push    si
  22.     push    di
  23.  
  24.     mov    dx, [bp]+X        ; sector number
  25.     mov    bx, [bp]+X+2        ; buffer address (must be in DS:)
  26.     mov    cx, 1            ; always one sector
  27.     mov    al, 0            ; to drive A:
  28.     int    26h            ; write sector
  29.     jc    err            ; error?
  30.     xor    ax, ax            ; no, clear return value
  31.     jmp    short return        ; and exit
  32. err:    mov    ax, 1            ; indicate error
  33.  
  34. return:    popf                ; leaved on stack (damned!)
  35.     pop    di
  36.     pop    si
  37.     pop    dx
  38.     pop    cx
  39.     pop    bx
  40.     pop    bp
  41.     ret
  42. _wrsct    endp
  43. ;PROG    ends
  44. _TEXT    ends
  45.     end
  46.